﻿using ITSM.Model.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ITSM.Service
{
    public interface IDemandOperate
    {
        /// <summary>
        /// 接收订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool ReceivingOrders(M_DemandOperate demandOperate);
        /// <summary>
        /// 撤销订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool CancelOrder(M_DemandOperate demandOperate);
        /// <summary>
        /// 完成订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool CompletionOrder(M_DemandOperate demandOperate);
        /// <summary>
        /// 转单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool TransferOrders(M_DemandOperate demandOperate);
        /// <summary>
        /// 跨公司转单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool CompanyTransferOrders(M_DemandOperate demandOperate);
        /// <summary>
        /// 评价订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool EvaluationOrder(M_DemandOperate demandOperate);
        /// <summary>
        /// 获取符合转单的人员的信息
        /// </summary>
        /// <param name="RYD_DemandId"></param>
        /// <returns></returns>
        List<M_TransferOrdersUsers> GetTransferOrdersUsers(string RYD_Company);
        /// <summary>
        /// 获取符合转单公司的类别的信息
        /// </summary>
        /// <param name="RYD_DemandId"></param>
        /// <returns></returns>
        List<M_TransferOrdersUsers> GetCompanyTransferOrdersUsers(string RYD_Company);
        /// <summary>
        /// 回退订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool FallbackOrder(M_DemandOperate demandOperate);
        /// <summary>
        /// 删除订单操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool DeleteOrder(M_DemandOperate demandOperate);
        /// <summary>
        /// 修改订单类别操作
        /// </summary>
        /// <param name="demandOperate"></param>
        /// <returns></returns>
        bool UpdateTypeOrder(M_DemandOperate demandOperate);
    }
}
